Telegram Group & Telegram Channel
Как ускорить вычисления с массивами с помощью NumExpr

NumExpr — мощный инструмент для ускорения вычислений с массивами в Python, который может значительно повысить производительность при работе с большими данными и сложными математическими выражениями.

Преобразовать медленный цикл, который занимал 650 мс, в вычисление за 60 мс — это реальность с использованием NumExpr.

Вот как NumExpr ускоряет вычисления 🔽

1️⃣ Частичное выполнение в кэше

NumExpr избегает создания огромных временных массивов, разбивая их на части, соответствующие размеру кэша.

Эти части обрабатываются и передаются через легковесную виртуальную машину, что ускоряет выполнение и оптимизирует доступ к памяти.

2️⃣ Ускорение с помощью SIMD и VML

Использование инструкций SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных одновременно.

При доступности NumExpr использует библиотеку Intel Math Kernel Library (MKL) для трансцендентных функций (таких как sin(), cos(), exp()), что значительно повышает производительность.

3️⃣ Поддержка многозадачного масштабирования

NumExpr автоматически распределяет вычисления между всеми ядрами процессора. Это позволяет эффективно использовать мощности многозадачности, ускоряя вычисления даже при больших данных.

Для работы с NumExpr достаточно заменить стандартные операции NumPy на аналоги NumExpr:
import numexpr as ne
import numpy as np

# Пример массивов
a = np.random.random(1000000)
b = np.random.random(1000000)

# Обычная операция NumPy
result = np.sin(a) + np.cos(b)

# Эквивалент NumExpr
result_ne = ne.evaluate('sin(a) + cos(b)')


Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/dsproglib/6438
Create:
Last Update:

Как ускорить вычисления с массивами с помощью NumExpr

NumExpr — мощный инструмент для ускорения вычислений с массивами в Python, который может значительно повысить производительность при работе с большими данными и сложными математическими выражениями.

Преобразовать медленный цикл, который занимал 650 мс, в вычисление за 60 мс — это реальность с использованием NumExpr.

Вот как NumExpr ускоряет вычисления 🔽

1️⃣ Частичное выполнение в кэше

NumExpr избегает создания огромных временных массивов, разбивая их на части, соответствующие размеру кэша.

Эти части обрабатываются и передаются через легковесную виртуальную машину, что ускоряет выполнение и оптимизирует доступ к памяти.

2️⃣ Ускорение с помощью SIMD и VML

Использование инструкций SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных одновременно.

При доступности NumExpr использует библиотеку Intel Math Kernel Library (MKL) для трансцендентных функций (таких как sin(), cos(), exp()), что значительно повышает производительность.

3️⃣ Поддержка многозадачного масштабирования

NumExpr автоматически распределяет вычисления между всеми ядрами процессора. Это позволяет эффективно использовать мощности многозадачности, ускоряя вычисления даже при больших данных.

Для работы с NumExpr достаточно заменить стандартные операции NumPy на аналоги NumExpr:

import numexpr as ne
import numpy as np

# Пример массивов
a = np.random.random(1000000)
b = np.random.random(1000000)

# Обычная операция NumPy
result = np.sin(a) + np.cos(b)

# Эквивалент NumExpr
result_ne = ne.evaluate('sin(a) + cos(b)')


Библиотека дата-сайентиста #буст

BY Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение




Share with your friend now:
tg-me.com/dsproglib/6438

View MORE
Open in Telegram


Библиотека data scientist’а | Data Science Machine learning анализ данных машинное обучение Telegram | DID YOU KNOW?

Date: |

Tata Power whose core business is to generate, transmit and distribute electricity has made no money to investors in the last one decade. That is a big blunder considering it is one of the largest power generation companies in the country. One of the reasons is the company's huge debt levels which stood at ₹43,559 crore at the end of March 2021 compared to the company’s market capitalisation of ₹44,447 crore.

Newly uncovered hack campaign in Telegram

The campaign, which security firm Check Point has named Rampant Kitten, comprises two main components, one for Windows and the other for Android. Rampant Kitten’s objective is to steal Telegram messages, passwords, and two-factor authentication codes sent by SMS and then also take screenshots and record sounds within earshot of an infected phone, the researchers said in a post published on Friday.

Библиотека data scientist’а | Data Science Machine learning анализ данных машинное обучение from us


Telegram Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
FROM USA